The widespread adoption of smart phones, tablets and other devices for running applications has significantly increased the number and variety of computing platforms and operating systems users interact with on a regular basis. For example, an individual may, during the course of a work day, interact with applications in a first user space provided by a first operating system running on her work desktop (for example, Ubuntu), she may also interact with applications in a second user space provided by a second operating system running on her smartphone (for example, Android or iOS), and interact with applications running in a third user space provided by a third operating system (for example, Windows) running on her personal laptop.
Significant opportunities remain for enhancing the functionality of the various computing devices with which the user regularly interacts by allowing the various devices to provide guest user spaces which allow applications to run smoothly and quickly. More specifically, the technical challenges associated with presenting multiple user spaces on a single device (for example, a smart phone) include, without limitation, latency arising from passing content from a guest user space to be presented (for example, image data to be displayed on a screen, or audio data) by functionalities (for example, part of a graphics pipeline) provided by a host user space of the device.